// 面试 stl vector emplace
#include <bits/stdc++.h>
using namespace std;

class Proc {
 public:
  Proc() { printf("Proc.\n"); }
  Proc(int i) { printf("Proc.%d\n", i++); }
  Proc(const Proc& other) { printf("Proc.copy \n"); }
};

void testEmplaceBack() {
  vector<Proc> vec;
  vec.reserve(50);
  for (int i = 0; i < 5; i++) {
    vec.push_back(i);    // 调用了构造+拷贝构造
    vec.emplace_back();  // 调用了构造
  }
}
